<?php


namespace library;

/**
 * Klasa do obsługi zmiennych globalnych
 * $_GET, $_POST, $_SERVER
 *
 * @author Damian Jóźwiak
 */
class RequestMethods {
   private function __construct() {
       
   }
   private function __clone() {
       
   }
   /**
    * <p> funkcja pobiera element z globalnej tablicy get</p>
    * @param mixed $key <p> klucz w tablicy get
    * @param mixed $default [optional] <p> domyślna zwracana wartość</p>
    * @return mixed <p>jeśli dany element znajduje się w tablicy $_GET</p>
    * @return null <p>jeśli w tablicy $_GET nie ma danego elementu</p>
    */
   public static function get($key,$default=NULL,$escape=true){
       if(!empty($_GET[$key])) {
           if ($escape){
                $stripped = str_replace(["<?","?>"],["&lt;?","?;gt;"],strip_tags($_GET[$key],"<span><br/><br><a><img>"));
                //$database = \library\Registry::get("database");
               // $database->connect();
               return $stripped;
               // return $database->escape($stripped);
           }           
           return $_GET[$key];
       }
        return $default;       
   }
   /**
    * <p> funkcja pobiera element z globalnej tablicy post</p>
    * @param mixed $key <p> klucz w tablicy post</p>
    * @param mixed $default [optional] <p> domyślna zwracana wartość</p>
    * @return mixed <p>jeśli dany element znajduje się w tablicy $_POST</p>
    * @return null <p>jeśli w tablicy $_POST nie ma danego elementu</p>
    */
   public static function post($key,$default=NULL,$escape=true){
       if(!empty($_POST[$key])) {
           if ($escape){
                 $stripped = str_replace(["<?","?>"],["&lt;?","?;gt;"],strip_tags($_POST[$key],"<span><br/><br><a><img>"));
                //$database = \library\Registry::get("database");
               // $database->connect();
                 return $stripped;
           }
           return $_POST[$key];
       }
        return $default;   
   }
   /**
    * <p> funkcja pobiera element z globalnej tablicy $_SERVER</p>
    * @param mixed $key <p> klucz w tablicy $_SERVER</p>
    * @param mixed $default [optional] <p> domyślna zwracana wartość</p>
    * @return mixed
    */
   public static function server($key,$default=NULL){
        if(!empty($_SERVER[strtoupper($key)])) {
           return $_SERVER[strtoupper($key)];
       }
        return $default;   
   }
}
